/// @ref gtc_map
/// @file glm/gtc/map.inl

namespace glm
{
  template <typename T, precision P>
  GLM_FUNC_QUALIFIER tvec3<T, P> mapPoint(tmat4x4<T, P> const & m, tvec3<T, P> const & p)
  {
    tvec4<T, P> point(p, 1);
    return tvec3<T, P>(m * point);
  }

  template <typename T, precision P>
  GLM_FUNC_QUALIFIER tvec3<T, P> mapVector(tmat4x4<T, P> const & mat, tvec3<T, P> const & v)
  {
    tvec4<T, P> vec(v, 0);
    return tvec3<T, P>(mat * vec);
  }
} // end namespace glm